package com.itheima.web.controller.company;

import com.alibaba.dubbo.config.annotation.Reference;
import com.itheima.common.utils.UtilFuns;
import com.itheima.doamin.system.Company;
import com.itheima.service.company.CompanyService;
import com.itheima.web.controller.BaseController;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.Date;
import java.util.UUID;

@RequestMapping("company")
@Controller
public class CompanyCotroller extends BaseController{
    @Reference
    CompanyService companyService;

//    /**
//     * 查询所有
//     * @param request
//     * @return
//     */
//    @RequestMapping("getAllCompanyList")
//    public String getAllCompanyList() {
//        List<Company> allCompany = companyService.findAll();
//        request.setAttribute("list",allCompany);
//        return "company/company-list";
//    }

    /**
     * 不用框架查询并分页
     * @param page
     * @param size
     * @return
     */
    @RequestMapping("getAllCompanyList")
    public String getAllCompanyList
            (@RequestParam(defaultValue = "1") int page,@RequestParam(defaultValue = "2") int size){
        request.setAttribute("page",companyService.findByPageHelper(page,size));
        return "company/company-list";
    }

    /**
     * 添加
     * @return
     */
    @RequestMapping("toAdd")
    public String toAdd(){
        return "company/company-add";
    }

    /**
     * 更新
     * @param id
     * @return
     */
    @RequestMapping("toUpdate")
    public String toUpdate(String id){
        //回显
        Company company = companyService.findById(id);
        request.setAttribute("company",company);
        return "company/company-update";
    }

    /**
     * 保存更新
     * @param company
     * @return
     */
    @RequestMapping("edit")
    public String edit(Company company){
        if (UtilFuns.isNotEmpty(company.getId())){
            //有id为更新
            companyService.update(company);
        }else {
            companyService.save(company);
        }
        return "redirect:/company/getAllCompanyList";
    }

    /**
     *
     * @param id
     */
    @RequestMapping("delete")
    public String delete(String id){
        companyService.delete(id);
        return "redirect:/company/getAllCompanyList";
    }
}